#ifndef DOACTION_H
#define DOACTION_H

#include <stdint.h>

#ifdef __cplusplus
extern "C" {
#endif

// 网络配置常量
#define LOCAL_IP    "192.168.2.76"
#define LOCAL_PORT  8000
#define BUF_SIZE    1024

// MVB数据包结构 - 完整格式
typedef struct {
    uint8_t  TID;           // TID_MVB_PD_DATA
    uint8_t  fcode;         // 端口字节大小 0,1,2,3,4
    uint16_t pdPort;        // 端口号
    uint8_t  pdData[32];    // 数据区
} mvb_data_full;

// MVB动作数据结构
typedef struct {
    uint32_t blank1;
    uint8_t  target_temp1;
    uint8_t  blank2;
    uint32_t blank3;
    uint32_t blank4;
    uint16_t blank5;
    uint8_t  target_temp2;
    uint8_t  target_blank;
    uint32_t blank6;
    uint32_t blank7;
    uint32_t blank8;
} mvb_action_data;

/**
 * @brief 发送控制指令到指定端口
 * @param pdPort_be  端口号（大端序）
 * @param data       指向32字节数据区的指针
 * @return 0成功，-1失败
 */
int doAction(uint16_t pdPort_be, uint8_t *data);

#ifdef __cplusplus
}
#endif

#endif // DOACTION_H 